package com.service;

import com.entity.Goods;
import com.dao.GoodsDao; // Now this exists
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List; // Import List


@Service
public class GoodsService {

    // Inject GoodsDao
    @Autowired
    private GoodsDao goodsDao;

    /**
     * 根据商品 ID 查询商品信息。
     *
     * @param id 商品 ID。
     * @return 查询到的商品对象，如果未找到则返回 null。
     */
    @Transactional(readOnly = true) // Mark as read-only
    public Goods findById(Long id) {
        // Use goodsDao to find the entity and return the entity or null
        return goodsDao.findById(id).orElse(null);
    }

    /**
     * 保存商品信息。
     *
     * @param goods 要保存的商品对象。
     * @return 保存成功时返回商品对象，保存失败时返回 null。
     */
    @Transactional
    public Goods save(Goods goods) {
        int affectedRows = goodsDao.save(goods);
        return (affectedRows > 0) ? goods : null;
    }

    /**
     * 查询所有商品列表。
     *
     * @return 商品列表。
     */
    @Transactional(readOnly = true)
    public List<Goods> findAll() { // 新增方法
        return goodsDao.findAll();
    }


} 
